#ifndef __key_bsp_H_
#define __key_bsp_H_

typedef enum
{
    KEY_PRESS_IDLE=0,
    KEY_PRESS_DOWN,
    KEY_PRESS_SINGLE_CLICK,
    KEY_PRESS_DOUBLE_CLICK,
    KEY_PRESS_REPEAT_CLICK,
    KEY_PRESS_SHORT_START,
    KEY_PRESS_SHORT_UP,

    KEY_PRESS_LONG_START,
    KEY_PRESS_LONG_UP,
    KEY_PRESS_LONG_HOLD,
    KEY_PRESS_LONG_HOLD_UP,
    KEY_PRESS_MAX,

}E_KEY_TYPE;



#define KEY_TEST1		(1<<KEY0)
#define KEY_TEST2		(1<<KEY6)
#define KEY_TEST3	    (1<<KEY3)

#define KEY_TEST4       ((1<<KEY6)|(1<<KEY3))



typedef void (*key_bsp_callback)(u32 key,E_KEY_TYPE event);

void key_bsp_callback_set(key_bsp_callback func);
void key_bsp_init(void);
void key_bsp_uninit(void);
void key_bsp_function_change(E_KEY val0,E_KEY val1);

#endif
